#define _CRT_SECURE_NO_WARNINGS 1

#include<unordered_set>
#include<unordered_map>
#include"my_hash.h"
#include"Hash_bucket.h"
#include"unordered_set.h"
#include"unordered_map.h"



//void Test_hash1()
//{
//	int a[] = { 19,30,5,36,13,20,21,12 };
//	Hash_Tab<int, int> ht;
//	for (auto e : a)
//	{
//		ht.Insert({ e,e });
//	}
//	
//	vector<int> v({ 19,30,5,36,13,20,21,12 });
//	for (size_t i = 0; i < 100; i++)
//	{
//		if (i == 58)
//		{
//			int x = 0;
//		}
//		int k = rand()%200 + i;
//		v.push_back(k);
//		ht.Insert({k,k});
//	}
//
//	for (size_t i = 0; i < v.size(); i++)
//	{
//		if (ht.Find(v[i]) == nullptr)
//			cout << v[i] << ' ';
//	}
//
//}
//
//namespace Hash_bucket
//{
//	void Test_hash()
//	{
//		int a[] = { 19,30,5,36,13,20,21,12,58 };
//		HashTab<int, int> ht;
//		for (auto e : a)
//		{
//			ht.Insert({ e,e });
//		}
//		ht.Insert({ 22,22 });
//		ht.Insert({ 33,33 });
//		ht.Insert({ 99,99 });
//		ht.Insert({ 88,88 });
//
//		ht.Erase(58);
//		ht.Erase(36);
//
//	}
//}

void Test_unordered()
{
	bit::unordered_set<int> us;
	int a[] = { 19,30,5,36,13,20,21,12,58 };

	for (auto e : a)
	{
		us.insert(e);
	}

	auto it = us.begin();
	while (it != us.end())
	{
		cout << *it << ' ';
		++it;
	}
	cout << endl;
}

int main()
{
	Test_unordered();

	return 0;
}

